# Frequently Asked Questions

<details>
<summary>Does Sweep write tests?</summary>

Yep! The easiest way to have Sweep write tests is by modifying the `description` parameter in your `sweep.yaml`. You can add something like:
“In [your repository], the tests are written in [your format]. If you modify business logic, modify the tests as well using this format.” You can add anything you’d like to the description parameter, including formatting rules (like PEP8), code style, etc!

</details>

<details>
<summary>Can we trust the code written by Sweep?</summary>

You should always review the PR. However, we also perform testing to make sure the PR works using your existing GitHub actions.
To get the best performance, add GitHub actions that lint, test, and validate your code.

</details>

<details>
<summary>Can I host Sweep myself?</summary>

Yes! Check out https://docs.sweep.dev/deployment.

</details>

<details>
<summary>Can I have Sweep work off of another branch besides main?</summary>

Yes! In the `sweep.yaml`, you can set the `branch` parameter to something besides your default branch, and Sweep will use that as a reference.

</details>

<details>
<summary>How do I retry an issue with Sweep?</summary>

To retry an issue, prefix your issue reply with 'Sweep: '. This will trigger Sweep to retry the issue.

</details>

<details>
<summary>Can I give documentation to Sweep?</summary>

Yes! In the `sweep.yaml`, you can specify docs. Be sure to pick the prefix of the site, which will allow us to only fetch the docs you need.
Check out the example here: https://github.com/sweepai/sweep/blob/main/sweep.yaml.

</details>

<details>
<summary>Can I comment on Sweep’s PRs?</summary>

Yep! You have three options depending on the degree of the change:

1. You can comment on the issue, and Sweep will rewrite the entire pull request. This will use one of your GPT4 credits.
2. You can comment on the pull request (not a file) and Sweep can make substantial changes to the pull request. Sweep will search the codebase, and is able to modify and create files.
3. You can comment on the file directly, and Sweep will only modify that file. Use this for small single file changes.

</details>

<details>
<summary>Why are you open source?</summary>

We’re open source so that our users can see exactly how their data is processed, as well as learn from how Sweep works! We’re really excited about building a community of Sweep users(like you!).

</details>

<details>
<summary>What’s the difference from CoPilot?</summary>

Copilot lives in your IDE and writes small chunks of code at a time. This takes ~3-5 seconds, and you need to watch it the entire time. Sweep runs completely asynchronously, and handles the task end to end. This might take 10-15 minutes, but you’re able to walk away and come back to a finished pull request. Copilot also doesn’t have access to the latest documentation.

</details>

<details>
<summary>What’s the difference from ChatGPT?</summary>

ChatGPT can’t write the actual PR, and you’d have to paste the generated code into your codebase and create a PR yourself. ChatGPT doesn’t have access to your codebase and the latest documentation, so it’s limited with large software projects.

</details>

<details>
<summary>What’s the difference from AutoGPT?</summary>

AutoGPT (and similar tools) doesn’t work, and Sweep works. We don’t allow the language model to perform open domain tool execution (which doesn’t work well). We perform a fixed flow of search → plan → write code → validate code, repeating the last two steps. This lets us reliably generate PRs corresponding to the user description.

</details>

<details>
<summary>What’s the difference from GPT-Engineer, Smol Developer and AutoGPT?</summary>

Sweep is built to improve on an existing codebase, which is a more frequent and higher need, than generating boilerplate, which is mostly a solved problem since you can just fork existing boilerplates.

</details>

<details>
<summary>What’s the difference from Cody and Bloop?</summary>

We do more than just chat-with-your-code by actually creating pull requests.

</details>

<details>
<summary>What’s the difference from AutoPR?</summary>

We're shipping new features at Sweep everyday and unfortunately it looks like AutoPR hasn't received any updates in months.

</details>

<details>
<summary>Do you store our code?</summary>

We access your GitHub repository at runtime. At the end of execution, your code is deleted from the server. To perform search over your codebase, we use the hashed contents along with the embeddings. This allows us to avoid storing any code as plaintext. Read more about it here: [https://docs.sweep.dev/blogs/search-infra](https://docs.sweep.dev/blogs/search-infra).

</details>

<details>
<summary>Do you have example Sweep PRs?</summary>

Yes! Check out [https://docs.sweep.dev/about/examples](https://docs.sweep.dev/about/examples).

</details>

<details>
<summary>Do you support integration with Linear, Jira, Zendesk etc.?</summary>

We don't directly support it but we recommend setting up a Zapier plugin that syncs GitHub issues from Linear/Jira. This will automatically create the GitHub issues when you make a Linear/Jira issue which will trigger Sweep if prefixed with "Sweep: ".

</details>

<details>
<summary>What does the 'Empty repository' error mean?</summary>

The 'Empty repository' error occurs when the repository was just created and Sweep will not work. This is because Sweep needs some existing code in the repository to work with. If the repository is empty, Sweep does not have any code to analyze or modify. To fix this error, you can add some initial code to your repository before using Sweep. Once there is some code in the repository, Sweep should be able to work as expected.

</details>
